home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / PInterfaces / QTML.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  3.9 KB  |  135 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QTML.p
  3.  
  4.      Contains:    QuickTime Cross-platform specific interfaces
  5.  
  6.      Version:    Technology:    QuickTime 3.0
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1997-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT QTML;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __QTML__}
  27. {$SETC __QTML__ := 1}
  28.  
  29. {$I+}
  30. {$SETC QTMLIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __MACTYPES__}
  34. {$I MacTypes.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __MACMEMORY__}
  37. {$I MacMemory.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __MACWINDOWS__}
  40. {$I MacWindows.p}
  41. {$ENDC}
  42. {$IFC UNDEFINED __OSUTILS__}
  43. {$I OSUtils.p}
  44. {$ENDC}
  45. {$IFC UNDEFINED __FILES__}
  46. {$I Files.p}
  47. {$ENDC}
  48.  
  49.  
  50. {$PUSH}
  51. {$ALIGN MAC68K}
  52. {$LibExport+}
  53.  
  54. PROCEDURE QTMLYieldCPU;
  55. PROCEDURE QTMLYieldCPUTime(milliSeconds: LONGINT; flags: UInt32);
  56. {$IFC NOT TARGET_OS_MAC }
  57.  
  58. TYPE
  59.     QTMLMutex                            = LONGINT;
  60.     QTMLSyncVar = ^LONGINT;
  61.     QTMLSyncVarPtr                        = ^QTMLSyncVar;
  62.  
  63. CONST
  64.     kInitializeQTMLNoSoundFlag    = $00000001;                    {  flag for requesting no sound when calling InitializeQTML }
  65.     kInitializeQTMLUseGDIFlag    = $00000002;                    {  flag for requesting GDI when calling InitializeQTML }
  66.  
  67.     kQTMLHandlePortEvents        = $00000001;                    {  flag for requesting requesting QTML to handle events }
  68.     kQTMLNoIdleEvents            = $00000002;                    {  flag for requesting requesting QTML not to send Idle Events }
  69.  
  70. FUNCTION InitializeQTML(flag: LONGINT): OSErr;
  71. PROCEDURE TerminateQTML;
  72. FUNCTION CreatePortAssociation(theWnd: UNIV Ptr; storage: Ptr; flags: LONGINT): GrafPtr;
  73. PROCEDURE DestroyPortAssociation(cgp: CGrafPtr);
  74. PROCEDURE QTMLGrabMutex(mu: QTMLMutex);
  75. PROCEDURE QTMLReturnMutex(mu: QTMLMutex);
  76. FUNCTION QTMLCreateMutex: QTMLMutex;
  77. PROCEDURE QTMLDestroyMutex(mu: QTMLMutex);
  78. FUNCTION QTMLCreateSyncVar: QTMLSyncVarPtr;
  79. PROCEDURE QTMLDestroySyncVar(p: QTMLSyncVarPtr);
  80. FUNCTION QTMLTestAndSetSyncVar(sync: QTMLSyncVarPtr): LONGINT;
  81. PROCEDURE QTMLWaitAndSetSyncVar(sync: QTMLSyncVarPtr);
  82. PROCEDURE QTMLResetSyncVar(sync: QTMLSyncVarPtr);
  83. PROCEDURE InitializeQHdr(VAR qhdr: QHdr);
  84. PROCEDURE TerminateQHdr(VAR qhdr: QHdr);
  85. PROCEDURE QTMLAcquireWindowList;
  86. PROCEDURE QTMLReleaseWindowList;
  87. {
  88.    These routines are here to support "interrupt level" code
  89.       These are dangerous routines, only use if you know what you are doing.
  90. }
  91.  
  92. FUNCTION QTMLRegisterInterruptSafeThread(threadID: UInt32; threadInfo: UNIV Ptr): LONGINT;
  93. FUNCTION QTMLUnregisterInterruptSafeThread(threadID: UInt32): LONGINT;
  94. FUNCTION NativeEventToMacEvent(nativeEvent: UNIV Ptr; VAR macEvent: EventRecord): LONGINT;
  95. {$IFC TARGET_OS_WIN32 }
  96. FUNCTION WinEventToMacEvent(winMsg: UNIV Ptr; VAR macEvent: EventRecord): LONGINT;
  97. FUNCTION IsTaskBarVisible: BOOLEAN;
  98. PROCEDURE ShowHideTaskBar(showIt: BOOLEAN);
  99.  
  100. CONST
  101.     kDDSurfaceLocked            = $00000001;
  102.     kDDSurfaceStatic            = $00000002;
  103.  
  104. FUNCTION QTGetDDObject(VAR lpDDObject: UNIV Ptr): OSErr;
  105. FUNCTION QTSetDDObject(lpNewDDObject: UNIV Ptr): OSErr;
  106. FUNCTION QTSetDDPrimarySurface(lpNewDDSurface: UNIV Ptr; flags: UInt32): OSErr;
  107. FUNCTION QTMLGetVolumeRootPath(fullPath: CStringPtr; volumeRootPath: CStringPtr; volumeRootLen: UInt32): OSErr;
  108. PROCEDURE QTMLSetWindowWndProc(theWindow: WindowPtr; windowProc: UNIV Ptr);
  109. FUNCTION QTMLGetWindowWndProc(theWindow: WindowPtr): Ptr;
  110. {$ENDC}
  111. FUNCTION QTMLGetCanonicalPathName(inName: CStringPtr; outName: CStringPtr; outLen: UInt32): OSErr;
  112.  
  113. CONST
  114.     kFullNativePath                = 0;
  115.     kFileNameOnly                = $01;
  116.     kDirectoryPathOnly            = $02;
  117.  
  118. FUNCTION FSSpecToNativePathName({CONST}VAR inFile: FSSpec; outName: CStringPtr; outLen: UInt32; flags: LONGINT): OSErr;
  119. FUNCTION NativePathNameToFSSpec(inName: CStringPtr; VAR outFile: FSSpec; flags: LONGINT): OSErr;
  120. {$ENDC}
  121.  
  122. {$IFC TARGET_OS_MAC }
  123. {$ENDC}  {TARGET_OS_MAC}
  124.  
  125. {$ALIGN RESET}
  126. {$POP}
  127.  
  128. {$SETC UsingIncludes := QTMLIncludes}
  129.  
  130. {$ENDC} {__QTML__}
  131.  
  132. {$IFC NOT UsingIncludes}
  133.  END.
  134. {$ENDC}
  135.